csspathnode: Call gtk_style_context_validate()
authorBenjamin Otte <otte@redhat.com>
Fri, 13 Feb 2015 21:00:06 +0000 (22:00 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 18 Mar 2015 14:23:31 +0000 (15:23 +0100)
Don't call gtk_style_context_invalidate(), that function does too much
work.

gtk/gtkcsspathnode.c

index 8f838fc83033fec945d560e89167269345290ecd..1fc702e22d31a9604cc3a2922c28ac4994f6c44b 100644 (file)
@@ -18,6 +18,7 @@
 #include "config.h"
 
 #include "gtkcsspathnodeprivate.h"
+#include "gtkcssstylepropertyprivate.h"
 #include "gtkprivate.h"
 #include "gtkstylecontextprivate.h"
 
@@ -41,9 +42,16 @@ gtk_css_path_node_invalidate (GtkCssNode *node)
 
   if (path_node->context)
     {
-      G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
-      gtk_style_context_invalidate (path_node->context);
-      G_GNUC_END_IGNORE_DEPRECATIONS;
+      GtkBitmask *changes;
+
+      changes = _gtk_bitmask_new ();
+      changes = _gtk_bitmask_invert_range (changes,
+                                           0,
+                                           _gtk_css_style_property_get_n_properties ());
+
+      gtk_style_context_validate (path_node->context, changes);
+
+      _gtk_bitmask_free (changes);
     }
 }